Scalable stimulation waveform scheduler

ABSTRACT

A medical device stores a set of stimulation profiles, wherein each stimulation profile of the set of stimulation profiles is associated with a set of values for stimulation parameters; selects from the set of stimulation profiles, one or more active stimulation profiles; produces, by a stimulation generator, multiple electrical pulses based on the one or more active stimulation profiles; and separately controls parameter values of respective individual pulses of the multiple pulses.

This application is a continuation of U.S. patent application Ser. No.15/824,500, filed Nov. 28, 2017, the entire content of which isincorporated herein by reference.

GOVERNMENT INTEREST

This invention was made with Government interest under prime awardnumber N66001-15-C-4014, sub-award number RES509889 awarded by DARPA.The Government has certain rights in the invention.

TECHNICAL FIELD

This disclosure generally relates to electrical stimulation therapy.

BACKGROUND

Medical devices may be external or implanted, and may be used to deliverelectrical stimulation therapy to patients to various tissue sites totreat a variety of symptoms or conditions such as chronic pain, tremor,Parkinson's disease, epilepsy, urinary or fecal incontinence, sexualdysfunction, obesity, or gastroparesis. A medical device may deliverelectrical stimulation therapy via one or more leads that includeelectrodes located proximate to target locations associated with thebrain, the spinal cord, pelvic nerves, peripheral nerves, or thegastrointestinal tract of a patient. Hence, electrical stimulation maybe used in different therapeutic applications, such as deep brainstimulation (DBS), spinal cord stimulation (SCS), pelvic stimulation,gastric stimulation, or peripheral nerve field stimulation (PNFS).

A clinician may select values for a number of programmable parameters inorder to define the electrical stimulation therapy to be delivered bythe implantable stimulator to a patient. For example, the clinician mayselect one or more electrodes, a polarity of each selected electrode, avoltage or current amplitude, a pulse width, and a pulse frequency asstimulation parameters. A set of parameters, such as a set includingelectrode combination, electrode polarity, amplitude, pulse width andpulse rate, may be referred to as a program, or a profile, in the sensethat they define the electrical stimulation therapy to be delivered tothe patient.

SUMMARY

In general, the disclosure describes example medical devices, systems,and techniques for a scheduler that can cause a medical device todeliver a plurality of stimulation patterns using a single stimulationgenerator. Using the scheduler described in this disclosure, stimulationpatterns may be created or edited on a pulse-by-pulse basis.

According to one example, a medical device includes a stimulationgenerator configured to generate electrical stimulation pulses; amemory; and processing circuitry operably coupled to the memory andconfigured to control the stimulation generator to produce multiplepulses, wherein the processing circuitry is configured to separatelycontrol parameter values of respective individual pulses of the multiplepulses.

In another example, a method includes storing, in a memory of a medicaldevice, a set of stimulation profiles, wherein each stimulation profileof the set of stimulation profiles is associated with a set of valuesfor stimulation parameters; selecting from the set of stimulationprofiles, one or more active stimulation profiles; producing, by astimulation generator, multiple electrical pulses based on the one ormore active stimulation profiles; and separately controlling, withprocessing circuitry, parameter values of respective individual pulsesof the multiple pulses.

In another example, an apparatus includes means for storing a set ofstimulation profiles, wherein each stimulation profile of the set ofstimulation profiles is associated with a set of values for stimulationparameters; means for selecting from the set of stimulation profiles,one or more active stimulation profiles; means for producing, by astimulation generator, multiple electrical pulses based on the one ormore active stimulation profiles; and means for separately controlling,with processing circuitry, parameter values of respective individualpulses of the multiple pulses.

The details of one or more examples of the techniques of this disclosureare set forth in the accompanying drawings and the description below.Other features, objects, and advantages of the techniques will beapparent from the description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating example system that includesan implantable medical device configured to deliver electricalstimulation therapy to patient and, more specifically, deliverelectrical stimulation therapy to patient by interleaving a plurality ofactive stimulation patterns using a single stimulation generator.

FIG. 2 is a block diagram of the example IMD of FIG. 1.

FIG. 3 is a functional block diagram of the example IMD of FIG. 1.

FIG. 4 is a block diagram of the example external programmer of FIG. 1.

FIGS. 5A-5D show examples of pulse trains that may be output by amedical device when implementing techniques of this disclosure.

FIGS. 6A-6D show examples of modulated pulse trains that may be outputby a medical device when implementing techniques of this disclosure.

FIG. 7 is a flow diagram illustrating techniques of this disclosure.

DETAILED DESCRIPTION

Demand is increasing for implantable medical devices that can delivercomplex electrical stimulation patterns to treat disease. For example,spinal cord stimulation therapies that involve two or three concurrentstimulation patterns are starting to emerge in chronic pain research andmay improve patient outcomes. Hardware built to interleave stimulationpatterns places an upper limit on stimulation pattern delivery for adevice once that hardware is developed, fabricated, and implanted.Increasing the number of stimulation patterns that can be delivered byan implantable device may require including additional hardware in thedevice to support each additional waveform.

A medical device implementing the techniques of this disclosure maystore, in a memory of the medical device, a set of stimulation profiles,with each stimulation profile of the set of stimulation profiles havingan associated set of values for respective stimulation parameters, suchpulse amplitude, pulse width, pulse rate, pulse stimulation delay, andan identification electrode combination. The medical device may selectfrom the set of stimulation profiles one or more active stimulationprofiles and produce multiple electrical pulses based on the one or moreactive stimulation profiles. The medical device may thus separatelycontrol, with processing circuitry, parameters of individual pulses ofthe multiple pulses that are delivered to the patient.

The proposed scheduler of this disclosure is computationally lightenough to be implemented in firmware. In some examples, the schedulermay uses single hardware stimulation pattern generator (e.g., astimulation generator) but rapidly reprogram the hardware based onscheduler output to implement and deliver many stimulation patterns. Inother examples, the scheduler may use multiple hardware stimulationgenerators and rapidly reprogram the hardware based on scheduler outputto implement and deliver many stimulation patterns. Regardless ofwhether a device includes a single stimulation generator or multiplestimulation generators, the scheduler of this disclosure may enable theinterleaving of more stimulation patterns than existing hardwaresolutions. The proposed scheduler interleaves pulses from activestimulation patterns, utilizing simple rules that can be tuned to thetarget application. For example, the scheduler can account forstimulation, interphase, and recharge stages of a stimulation pulse thattypically complete before pulses from the next active stimulationpattern are delivered. A potential additional benefit of the scheduleris that stimulation patterns can be edited on a pulse-by-pulse basis,which provides the ability to implement stimulation patterns that havenot yet been defined without requiring substantial modifications tohardware. In one example, a scheduler as described herein can run onexisting hardware with a single stimulation generator to deliver up to12 independent stimulation patterns, delivering up to 2500 pulses persecond across all patterns, while changing pulse amplitude, width, orinterphase delay, based on requirements of a modulating function (e.g.,a time-based modulating function) for each active stimulation pattern.Other schedulers may allow hardware to deliver more than 12 stimulationpatters and/or a greater number of pulses per second.

The software-based scheduler of this disclosure provides the ability toschedule and deliver N independent stimulation patterns. The number ofpatterns that can be scheduled and delivered, N, is ultimately limitedby the maximum time stimulation pulses are expected to take across allprogrammed patterns—dictated by the therapy, or by the complexity ofeach pattern and number of patterns that may be active at any giventime. In some implementations, a prototype of the software-basedscheduler of this disclosure has successfully interleaved twelvestimulation patterns, each with a separate modulation function thatmodifies the parameters of each pulse so each pattern results in adifferent sensation delivered to the user. Twelve is not, however,intended to represent an upper limit for the value of N.

The scheduler of this disclosure includes numerous capabilities. As oneexample, the scheduler of this disclosure may guarantee delivery ofpulses by utilizing a time-slice basis calculated when the desired stimpatterns are defined. The scheduler may, for example, determine aduration for a time slice, and during each time slice, the scheduler mayprogram a stimulation generator once per time slice to deliver up to onepulse during the time slice. Various examples described in thisdisclosure utilize 400 microsecond time slices, although both shorter(e.g., 50 microsecond) and longer durations may also be used. Thescheduler may select the time slice based on considerations such as thewidest pulse of an active stimulation profile and the amount of timeneeded for the scheduler to reprogram the hardware (e.g., thestimulation engine). The scheduler may select the duration of time slicebased on a combination of active stimulation parameters and/or globalstimulation parameters, which will be described in more detail below. Inother implementations, the time slice duration may be a user programmedvalue or a fixed value.

The scheduler of this disclosure may also handle schedule conflicts in adeterministic manner, allowing prioritization of stimulation patternsfor schedule conflict resolution. The scheduler of this disclosure mayinterleave pulses from different active stimulation patterns, preventingoverlap and interference of pulses from the patterns. The scheduler ofthis disclosure may also allow for patterns to be redefined on apulse-by-pulse basis to support very complex stimulation patterndelivery. The scheduler of this disclosure may utilize a single hardwarewaveform generator, reducing the hardware requirements to delivermultiple patterns. In other examples, the scheduler of this disclosuremay utilize multiple hardware waveform generators to deliver multiplepatterns, also reducing the hardware requirements to deliver multiplepatterns The scheduler of this disclosure may also allow more than Npatterns to be defined, with up to N of them active at once, allowingdelivery of the N relevant patterns as therapy needs to adjust orchange.

FIG. 1 is a conceptual diagram illustrating example system 100 thatincludes an implantable medical device (IMD) 102 configured to deliverelectrical stimulation therapy to patient 12. As will be described inmore detail below, IMD 102 may be configured to interleave a pluralityof active stimulation patterns using a single stimulation generator. Inthe example shown in FIG. 1, IMD 102 is configured to deliver SCStherapy. Although the techniques described in this disclosure aregenerally applicable to a variety of medical devices including externalmedical devices and implantable medical devices (IMDs), application ofsuch techniques to IMDs and, more particularly, implantable electricalstimulators (e.g., neurostimulators) will be described for purposes ofillustration. More particularly, the disclosure will refer to animplantable spinal cord stimulation (SCS) system for purposes ofillustration, but without limitation as to other types of medicaldevices or other therapeutic applications of medical devices.

As shown in FIG. 1, example system 100 includes an IMD 102, leads 16A,16B, and external programmer 104 shown in conjunction with a patient 12,who is ordinarily a human patient. In the example of FIG. 1, IMD 102 isan implantable electrical stimulator that is configured to generate anddeliver electrical stimulation therapy to patient 12 via electrodes ofleads 16A, 16B, e.g., for relief of chronic pain or other symptoms. IMD102 may be a chronic electrical stimulator that remains implanted withinpatient 12 for weeks, months, or even years. In other examples, IMD 102may be a temporary, or trial, stimulator used to screen or evaluate theefficacy of electrical stimulation for chronic therapy. In one example,IMD 102 is implanted within patient 12, while in another example, IMD102 is an external device coupled to percutaneously implanted leads. Insome examples, IMD uses one or more leads, while in other examples, IMD102 is leadless.

IMD 102 may be constructed of any polymer, metal, or composite materialsufficient to house the components of IMD 102 (e.g., componentsillustrated in FIG. 2) within patient 12. In this example, IMD 102 maybe constructed with a biocompatible housing, such as titanium orstainless steel, or a polymeric material such as silicone, polyurethane,or a liquid crystal polymer, and surgically implanted at a site inpatient 12 near the pelvis, abdomen, or buttocks. In other examples, IMD102 may be implanted within other suitable sites within patient 12,which may depend, for example, on the target site within patient 12 forthe delivery of electrical stimulation therapy. The outer housing of IMD102 may be configured to provide a hermetic seal for components, such asa rechargeable or non-rechargeable power source. In addition, in someexamples, the outer housing of IMD 102 may be selected from a materialthat facilitates receiving energy to charge the rechargeable powersource.

Electrical stimulation energy, which may be constant current or constantvoltage based pulses, for example, is delivered from IMD 102 to one ormore target tissue sites of patient 12 via one or more electrodes (notshown) of implantable leads 16A and 16B (collectively “leads 16”). Inthe example of FIG. 1, leads 16 carry electrodes that are placedadjacent to the target tissue of spinal cord 20. One or more of theelectrodes may be disposed at a distal tip of a lead 16 and/or at otherpositions at intermediate points along the lead. Leads 16 may beimplanted and coupled to IMD 102. The electrodes may transfer electricalstimulation generated by an electrical stimulation generator in IMD 102to tissue of patient 12. Although leads 16 may each be a single lead,lead 16 may include a lead extension or other segments that may aid inimplantation or positioning of lead 16. In some other examples, IMD 102may be a leadless stimulator with one or more arrays of electrodesarranged on a housing of the stimulator rather than leads that extendfrom the housing. In addition, in some other examples, system 100 mayinclude one lead or two or more leads, each coupled to IMD 102 anddirected to similar or different target tissue sites.

The electrodes of leads 16 may be electrode pads on a paddle lead,circular (e.g., ring) electrodes surrounding the body of the lead,conformable electrodes, cuff electrodes, segmented electrodes (e.g.,electrodes disposed at different circumferential positions around thelead instead of a continuous ring electrode), or any other type ofelectrodes capable of forming unipolar, bipolar or multipolar electrodecombinations for therapy. Ring electrodes arranged at different axialpositions at the distal ends of lead 16 will be described for purposesof illustration.

The deployment of electrodes via leads 16 is described for purposes ofillustration, but arrays of electrodes may be deployed in differentways. For example, a housing associated with a leadless stimulator maycarry arrays of electrodes, e.g., rows and/or columns (or otherpatterns), to which shifting operations may be applied. Such electrodesmay be arranged as surface electrodes, ring electrodes, or protrusions.As a further alternative, electrode arrays may be formed by rows and/orcolumns of electrodes on one or more paddle leads. In some examples,electrode arrays may include electrode segments, which may be arrangedat respective positions around a periphery of a lead, e.g., arranged inthe form of one or more segmented rings around a circumference of acylindrical lead.

The therapy parameters for a therapy program (also referred to herein asa set of electrical stimulation parameter values) that controls deliveryof stimulation therapy by IMD 102 through the electrodes of leads 16 mayinclude information identifying which electrodes have been selected fordelivery of stimulation according to a stimulation program, thepolarities of the selected electrodes, i.e., the electrode combinationfor the program, and voltage or current amplitude, pulse rate, and pulsewidth of stimulation delivered by the electrodes. Delivery ofstimulation pulses will be described for purposes of illustration.

Although FIG. 1 is directed to SCS therapy, e.g., used to treat pain, inother examples system 100 may be configured to treat any other conditionthat may benefit from electrical stimulation therapy. For example,system 100 may be used to treat tremor, Parkinson's disease, epilepsy, apelvic floor disorder (e.g., urinary incontinence or other bladderdysfunction, fecal incontinence, pelvic pain, bowel dysfunction, orsexual dysfunction), obesity, gastroparesis, or psychiatric disorders(e.g., depression, mania, obsessive compulsive disorder, anxietydisorders, and the like). In this manner, system 100 may be configuredto provide therapy taking the form of deep brain stimulation (DBS),peripheral nerve stimulation (PNS), peripheral nerve field stimulation(PNFS), cortical stimulation (CS), pelvic floor stimulation,gastrointestinal stimulation, or any other stimulation therapy capableof treating a condition of patient 12.

In some examples, lead 16 may include one or more sensors configured toallow IMD 102 to monitor one or more parameters of patient 12. The oneor more sensors may be provided in addition to, or in place of, therapydelivery by lead 16.

IMD 102 is configured to deliver electrical stimulation therapy topatient 12 via selected combinations of electrodes carried by one orboth of leads 16, alone or in combination with an electrode carried byor defined by an outer housing of IMD 102. The target tissue for theelectrical stimulation therapy may be any tissue affected by electricalstimulation, which may be in the form of electrical stimulation pulsesor continuous waveforms. In some examples, the target tissue includesnerves, smooth muscle or skeletal muscle. In the example illustrated byFIG. 1, the target tissue is tissue proximate spinal cord 20, such aswithin an intrathecal space or epidural space of spinal cord 20, or, insome examples, adjacent nerves that branch off of spinal cord 20. Leads16 may be introduced into spinal cord 20 in via any suitable region,such as the thoracic, cervical or lumbar regions. Stimulation of spinalcord 20 may, for example, prevent pain signals from traveling throughspinal cord 20 and to the brain of patient 12. Patient 12 may perceivethe interruption of pain signals as a reduction in pain and, therefore,efficacious therapy results.

IMD 102 generates and delivers electrical stimulation therapy to atarget stimulation site within patient 12 via the electrodes of leads 16to patient 12 according to one or more therapy programs. A therapyprogram defines values for one or more respective stimulation parametersthat define an aspect of the therapy delivered by IMD 102 according tothat program. For example, a therapy program that controls delivery ofstimulation by IMD 102 in the form of pulses may define values forstimulation parameters such as voltage or current pulse amplitude, pulsewidth, and pulse rate for stimulation pulses delivered by IMD 102according to that program. Other stimulation parameters may definebursts of pulses such as a burst rate (e.g., the frequency that burstsof pulses are delivered) and burst duration (e.g., width of each burstor number of pulses within each burst). In this matter, the patterns orprofiles described herein may define continuous pulses, bursts ofpulses, or some combination thereof.

Moreover, in some examples, IMD 102 delivers electrical stimulationtherapy to patient 12 according to multiple therapy programs, which maybe stored as a therapy program group. For example, as described below,in some examples, IMD 102 may deliver different pulses of electricalstimulation signal via respective electrode combinations, and each ofthe electrode combinations may be associated with a respective therapyprogram. The therapy programs may be stored as a group, such that whenIMD 102 generates and delivers electrical stimulation therapy via aselected group, IMD 102 delivers electrical stimulation signal via twoor more therapy programs.

In some examples, IMD 102 is configured to deliver a recharge signal(e.g., one or more recharge pulses or other waveforms), which may helpbalance a charge accumulation that may occur within tissue proximate theelectrodes used to deliver the electrical stimulation. The rechargepulse may also be referred to as a “recovery signal” or a “chargebalancing signal” and may have a polarity opposite to that of theelectrical stimulation signal generated and delivered by IMD 102. Whilerecharge pulses are primarily referred to herein, in other examples, arecharge signal can have any suitable waveform. The recharge signal, orrecharge pulse, may have width and/or amplitude different from thepreceding stimulation pulse.

A user, such as a clinician or patient 12, may interact with a userinterface of an external programmer 104 to program IMD 102. Programmingof IMD 102 may refer generally to the generation and transfer ofcommands, programs, or other information to control the operation of IMD102. In this manner, IMD 102 may receive the transferred commands andprograms from programmer 104 to control stimulation therapy. Forexample, external programmer 104 may transmit therapy programs,stimulation parameter adjustments, therapy program selections, therapyprogram group selections, user input, or other information to controlthe operation of IMD 102, e.g., by wireless telemetry or wiredconnection.

In some cases, external programmer 104 may be characterized as aphysician or clinician programmer if it is primarily intended for use bya physician or clinician. In other cases, external programmer 104 may becharacterized as a patient programmer if it is primarily intended foruse by a patient. A patient programmer may be generally accessible topatient 12 and, in many cases, may be a portable device that mayaccompany patient 12 throughout the patient's daily routine. Forexample, a patient programmer may receive input from patient 12 when thepatient wishes to terminate or change stimulation therapy. In general, aphysician or clinician programmer may support selection and generationof programs by a clinician for use by IMD 102, whereas a patientprogrammer may support adjustment and selection of such programs by apatient during ordinary use. In other examples, external programmer 104may be included, or part of, an external charging device that rechargesa power source of IMD 102. In this manner, a user may program and chargeIMD 102 using one device, or multiple devices.

As described herein, information may be transmitted between externalprogrammer 104 and IMD 102. Therefore, IMD 102 and programmer 104 maycommunicate via wireless communication using any techniques known in theart. Examples of communication techniques may include, for example,radiofrequency (RF) telemetry and inductive coupling, but othertechniques are also contemplated. In some examples, programmer 104 mayinclude a communication head that may be placed proximate to thepatient's body near the IMD 102 implant site in order to improve thequality or security of communication between IMD 102 and programmer 104.Communication between programmer 104 and IMD 102 may occur during powertransmission or separate from power transmission.

In some examples, IMD 102 delivers a recharge signal after delivery ofmultiple pulses of an electrical stimulation signal, which may bedefined by one therapy program or by multiple therapy programs. Thus,rather than charge balancing on a pulse-by-pulse basis (e.g., deliveringone recharge pulse after each electrical stimulation pulse), in someexamples, IMD 102 delivers one or more recharge pulses after delivery oftwo or more electrical stimulation pulses. In some examples, IMD 102delivers an electrical stimulation signal to patient 12 according tomultiple therapy programs by at least interleaving pulses of two or moretherapy programs, the pulses having a first polarity. In some of theseexamples, IMD 102 may wait to deliver one or more recharge pulses untilafter one or more pulses of each of the therapy programs are delivered,each recharge pulse having a second polarity opposite to the firstpolarity. Thus, in some examples, IMD 102 may not deliver any rechargesignals between therapy programs, but, rather, may withhold the deliveryof one or more recharge signals until after IMD 102 delivers a pluralityof pulses according to two or more therapy programs.

According to the techniques of the disclosure and as will be describedin greater detail below, IMD 102 delivers electrical stimulation therapyto a patent by interleaving active stimulation patterns (e.g., pulsesfrom different active stimulation patters are delivered on aninterleaved basis). IMD 102 interleaves the active stimulation patternsin a manner that prevents the overlap and interference of pulses fromrespective patterns. IMD 102 may handle schedule conflicts in adeterministic manner, allowing prioritization of stimulation patternsfor schedule conflict resolution. IMD 102 may deliver pulses byutilizing a time-slice basis calculated when the desired stim patternsare defined. IMD 102 may define patterns on a pulse-by-pulse basis tosupport very complex stimulation pattern delivery. IMD 102 may utilize asingle hardware waveform generator, thus reducing the hardwarerequirements to deliver multiple patterns. Furthermore, IMD 102 mayallow for more than N patterns to be defined, with up to N of thepatterns being active at once, thus allowing delivery of the N relevantpatterns. In some example fewer than N patterns may active.

In some examples, IMD 102 is configured to generate and deliverelectrical stimulation therapy to patient 12 via two or more pairs ofelectrodes, e.g., of leads 16 and/or a housing of IMD 102. IMD 102 maybe configured to deliver multiple pulses associated with N overlappedactive stimulation profiles via the two or more pairs of electrodes andseparately control parameters of individual pulses of the multiplepulses. The combined electrical stimulation therapy signal of the Noverlapped active stimulation profiles may have a frequency in the rangeof approximately 0.1 hertz (Hz) up to 20 kHz. However, lower or highercombined electrical stimulation therapy signal frequencies may be usedin other examples. The duration of the time slice selected by IMD 102may set an upper limit for the frequency of the combined electricalstimulation therapy signal. If IMD 102, for example, sets a duration ofa time slice to be 50 microseconds, then the maximum frequency of thecombined electrical stimulation therapy signal would be 20 kHz, assumingone pulse is delivered per time slice.

In some examples, the amplitude and pulse width of the electricalstimulation signal is selected such that a stimulation intensity levelof the electrical stimulation signal is above a therapeutic threshold(e.g., a threshold above which the patient experiences a therapeuticresponse), which may be either above or below a motor threshold (e.g., athreshold above which evokes a motor response) or a sensory threshold(e.g., a threshold above which the patient perceives the stimulation insome manner). In one specific example, the amplitude and pulse width ofthe electrical stimulation signal are selected such that a stimulationintensity level of the electrical stimulation signal is less than aperception and paresthesia threshold intensity level for patient 12.Stimulation delivered at an intensity that is less than a perception orparesthesia threshold intensity level for patient 12 may be referred toas sub-threshold stimulation in which the patient does not perceive thedelivered electrical stimulation. The perception threshold is the lowestlevel of electrical stimulation that is sufficient for the patient toperceive that the IMD is delivering electrical stimulation. Theparesthesia threshold is the lowest level of electrical stimulation thatcauses paresthesia in the patient. Paresthesia may cause discomfort ormask pain in the patient, and is sometimes described as a “pins andneedles” sensation. A clinician may select one or more parameters of theelectrical stimulation therapy, and titrate the one or more parametersuntil the electrical stimulation therapy is less than a perception orparesthesia threshold intensity level for patient 12. The techniques ofthis disclosure are not limited to any particular type of therapy, butmay be of particular benefit to therapies that require complexelectrical stimulation signals.

In one example, the electrical stimulation signal comprises of one ormore electrical pulses (e.g., a pulse train), wherein each pulse has apulse width in a range of 2 microseconds to 833 microseconds. In afurther example, each pulse has a pulse width of about 20 microsecondsto about 60 microseconds. In one example, the electrical stimulationsignal comprises of one or more electrical pulses (e.g., a pulse train),wherein each pulse has a pulse width in a range of 30 microseconds to 60microseconds. In one example, the electrical stimulation signalcomprises of one or more electrical pulses (e.g., a pulse train),wherein each pulse has a pulse width of approximately 50 microseconds.In one example, the electrical stimulation signal comprises of one ormore electrical pulses (e.g., a pulse train), wherein each pulse has apulse width of approximately 60 microseconds.

In some examples, IMD 102 delivers the pulses of the electricalstimulation signal via different electrode combinations. For example,IMD 102 may alternate delivery of pulses between two different electrodecombinations, or may otherwise interleave the pulses using two or moreelectrode combinations in any suitable order. In some examples, IMD 102may deliver time-interleaved pulses via two, three, four or moreelectrode combinations. IMD 102 may alternate between delivery of asingle pulse on each of two or more electrode combinations over a seriesof time intervals. As an illustration, IMD 102 may deliver a first pulsein a first time interval via a first electrode combination, a secondpulse in a second time interval via a second electrode combination, athird pulse in a third time interval via a third electrode combination,and a fourth pulse in a fourth time interval via a fourth electrodecombination, and repeat this process, e.g., on a periodic basis. Inother examples, IMD 102 may alternate between delivery of multiplepulses between two or more different electrode combinations oversuccessive time intervals. As an illustration, IMD 102 may deliver a twoor more first pulses in a first time interval via a first electrodecombination, two or more second pulses in a second time interval via asecond electrode combination, two or more third pulses in a third timeinterval via a third electrode combination, and two or more fourthpulses in a fourth time interval via a fourth electrode combination, andrepeat this process, e.g., on a periodic basis. In one example, eachelectrode combination comprises one electrode functioning as an anodeand another electrode functioning as a cathode, and these electrodes areunique to the electrode combination, i.e., the electrodes used fordelivery of stimulation pulses in one electrode combinations are notused in any of the other electrode combinations. In another example,each electrode combination comprises a plurality of electrodesfunctioning as anodes in conjunction with a cathode and/or a pluralityof electrodes functioning as cathodes in conjunction with an anode, andeach of these pluralities of electrodes is unique to the electrodecombination.

In another example, a clinician selects the target tissue area byselecting different electrode combinations of IMD 102 that share commonanodes or cathode electrodes. For example, the clinician may selectelectrode combinations using electrodes proximate to each other thattypically have a separation of 1 to 12 mm to deliver a combined pulsetrain signal to a narrow region to tissue. In another example, theclinician may select electrode combinations using electrodes far apart,such as a distance greater than 12 mm, from each other to deliver acombined pulse train signal to a wide region to tissue. For example, theclinician may select electrode combinations having a plurality of anodesaround the dorsal column of patient 12, and a shared cathode in themiddle of the spinal column 20 of patient 12. In this example, only thetissue proximate to the cathode electrode may receive the combined pulsetrain, while other tissues of patient 12 may receive only low-frequencyelectrical stimulation. In another example, when one or more axial leadscarrying electrodes 116, 118 is placed substantially parallel to thespine 20, the clinician may select electrode combinations along theaxial lead having a plurality of unique anodes located down the spine 20and a plurality of common cathodes located in the dorsal root of patient12. In this example, the dorsal root area may receive the combined pulsetrain, while other tissues of patient 12 may receive only low-frequencyelectrical stimulation.

In another example, a clinician selects the target tissue area byselecting different electrode combinations of IMD 102 that do not sharecommon anodes electrodes or cathode electrodes. Such a combination maycreate a localized area where the cathodes of each program are near eachother but do not use the same electrodes. In response to a selection bythe clinician of a magnitude of an amplitude of the therapy program,different nerves or structures in and around the spinal cord of patient12 will be exposed to the electrical field generated by pulses from oneor more combinations of the selected electrodes. In other words,different nerves and associated target tissue areas on the nervoussystem of patient 12 may simultaneously receive electrical stimulationat different frequencies. For example, an axial lead carrying electrodesnumbered sequentially 0-7 is placed substantially parallel to the spine20. In one example, the clinician selects electrodes 0, 1 as a firstelectrode combination and electrodes 6, 7 as a second electrodecombination. In this example, the electrode combinations are farthestapart on the axial lead. Tissue proximate to electrodes 0, 1, 6, and 7may receive only the low-frequency electrical pulses defined by thecorresponding electrical stimulation therapy program. However, in thisexample, a wide region of tissue may receive the combined electricalstimulation pulse train (e.g., tissue between electrode pairs 0,1 and6,7, such as the tissue proximate to electrodes 2, 3, 4, and 5).

In another example, the clinician selects electrodes 1, 2 as a firstelectrode combination and electrodes 5, 6 as a second electrodecombination. In this example, the electrode combinations areapproximately midway along the axial lead. Tissue proximate toelectrodes 1, 2, 5, and 6 may receive only the low-frequency electricalpulses defined by the corresponding electrical stimulation therapyprogram. However, in this example, a moderate region of tissue mayreceive the combined electrical stimulation pulse train (e.g., tissuebetween electrode pairs 1,2 and 5,6, such as the tissue proximate toelectrodes 3 and 4).

In another example, the clinician selects electrodes 2, 3 as a firstelectrode combination and electrodes 4, 5 as a second electrodecombination. In this example, the electrode combinations are closesttogether on the axial lead. Tissue proximate to electrodes 2, 3, 4, and5 may receive only the low-frequency electrical pulses defined by thecorresponding electrical stimulation therapy program. However, in thisexample, a narrow region of tissue may receive the combined electricalstimulation pulse train (e.g., tissue between electrodes 3 and 4).

Although IMD 102 is generally described herein, techniques of thisdisclosure may also be applicable to external or partially externalmedical device in other examples. For example, IMD 102 may instead beconfigured as an external medical device coupled to one or morepercutaneous medical leads. The external medical device may be achronic, temporary, or trial electrical stimulator. In addition, anexternal electrical stimulator may be used in addition to one or moreIMDs 102 to deliver electrical stimulation described herein.

For ease of explanation, the techniques of this disclosure are going tobe described with respect to an implantable medical device. Thetechniques of this disclosure may, however, also be implanted in someexternal medical devices (e.g., an external stimulation generatorcoupled to one or more percutaneous leads). If implementing thetechniques of this disclosure into an external medical device, thenvarious functionality described herein with respect to IMD 102 andexternal programmer 104 may be combined into a single device.

FIG. 2 is a block diagram of the example IMD 102 of FIG. 1. In theexample shown in FIG. 2, IMD 102 includes processor 210, memory 211,stimulation generator 202, sensing circuitry 204, telemetry circuitry208, sensor 212, and power source 220. Each of these elements ofcircuitry may be or include electrical circuitry configured to performthe functions attributed to each respective circuit element. Moreover,although these circuitry elements are shown separately in FIG. 2 forease of explanation, various portions of these circuit elements may alsobe partially, or in some cases highly, integrated with one another.Memory 211 may include any volatile or non-volatile media, such as arandom access memory (RAM), read only memory (ROM), non-volatile RAM(NVRAM), electrically erasable programmable ROM (EEPROM), flash memory,and the like. Memory 211 may store computer-readable instructions that,when executed by processor 210, cause IMD 102 to perform variousfunctions. Memory 211 may be a storage device or other non-transitorymedium.

In the example shown in FIG. 2, memory 211 stores therapy programs 214and sense electrode combinations and associated stimulation electrodecombinations 218 in separate memories within memory 211 or separateareas within memory 211. Each stored therapy program 214 defines aparticular set of electrical stimulation parameters (e.g., a therapyparameter set), such as a stimulation electrode combination, electrodepolarity, current or voltage amplitude, pulse width, and pulse rate. Insome examples, individual therapy programs may be stored as a therapygroup, which defines a set of therapy programs with which stimulationmay be generated. The stimulation signals defined by the therapyprograms of the therapy group include stimulation pulses that may bedelivered together on an overlapping or non-overlapping (e.g.,time-interleaved) basis.

The techniques of the disclosure are described as interleavingstimulation pulses on a non-overlapping (time-interleaved) basis.However, in some examples, the techniques of the disclosure may allowfor interleaving stimulation pulses delivered via different sets ofelectrodes on an at least partially overlapping basis. Overlapping ofthe recharge or recovery pulses of the different programs or electrodecombinations may be useful because it may allow more time to dischargeseries capacitors on the electrodes. This may allow the system tooperate more efficiently. For example, each of the plurality ofelectrical stimulation programs delivers therapy pulses on uniqueelectrodes. However, during the time of the recovery pulse, each of theelectrodes used in all of the electrical stimulation therapy programsare tied together on the IMD and connected to the body. This allows theseries capacitors of the electrodes to simultaneously discharge tobalance the therapy pulses. Such a system allows for recovery pulseshaving a lower amplitude than other systems, and therefore, such asystem may disperse the energy more uniformly to the tissue of thepatient instead of localizing it to the specific electrode combination.

Stimulation generator 202 represents hardware that may control multiplecurrent sources and sinks that generate stimulation pulses acrosselectrodes 116 and 118. Stimulation generator 202 may be programmed withthe pulse parameters and, based on the programmed pulse parameters,coordinate the timing and amplitude of the current sources and sinks.Accordingly, in some examples, stimulation generator 202 generateselectrical stimulation signals in accordance with the electricalstimulation parameters noted above. Other ranges of therapy parametervalues may also be useful, and may depend on the target stimulation sitewithin patient 112. While stimulation pulses are described, stimulationsignals may be of any form, such as continuous-time signals (e.g., sinewaves) or the like.

Processor 210 may include any one or more of a microprocessor, acontroller, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field-programmable gate array (FPGA),discrete logic circuitry, or any other processing circuitry configuredto provide the functions attributed to processor 210 herein may beembodied as firmware, hardware, software or any combination thereof.Processor 210 controls stimulation generator 202 according to therapyprograms 214 stored in memory 211 to apply particular stimulationparameter values specified by one or more of programs, such asamplitude, pulse width, and pulse rate.

In the example shown in FIG. 2, the set of electrodes 116 includeselectrodes 116A, 116B, 116C, and 116D, and the set of electrodes 118includes electrodes 118A, 118B, 118C, and 118D. Processor 210 alsocontrols stimulation generator 202 to generate and apply the stimulationsignals to selected combinations of electrodes 116, 118. In someexamples, stimulation generator 202 includes switch circuitry thatcouples stimulation signals to selected conductors within leads 16,which, in turn, deliver the stimulation signals across selectedelectrodes 116, 118. Such switch circuitry may be a switch array, switchmatrix, multiplexer, or any other type of switching circuitry configuredto selectively couple stimulation energy to selected electrodes 116, 118and to selectively sense bioelectrical neural signals of spine 20 withselected electrodes 116, 118.

In other examples, however, stimulation generator 202 does not includeswitch circuitry. In these examples, stimulation generator 202 comprisesa plurality of pairs of voltage sources, current sources, voltage sinks,or current sinks connected to each of electrodes 116, 118 such that eachpair of electrodes has a unique signal generator. In other words, inthese examples, each of electrodes 116, 118 is independently controlledvia its own signal generator (e.g., via a combination of a regulatedvoltage source and sink or regulated current source and sink), asopposed to switching signals between electrodes 116, 118.

Stimulation generator 202 may be a single channel or multi-channelstimulation generator. In particular, stimulation generator 202 may becapable of delivering a single stimulation pulse or multiple stimulationpulses at a given time via a single electrode combination or multiplestimulation pulses at a given time via multiple electrode combinations.In some examples, however, stimulation generator 202 may be configuredto deliver multiple channels on a time-interleaved basis. For example,switch circuitry of stimulation generator 202 may serve to time dividethe output of stimulation generator 202 across different electrodecombinations at different times to deliver multiple programs or channelsof stimulation energy to patient 112. In another example, thestimulation generator 202 may control the independent sources or sinkson a time-interleaved bases.

Electrodes 116, 118 on respective leads 16 may be constructed of avariety of different designs. For example, one or both of leads 16 mayinclude two or more electrodes at each longitudinal location along thelength of the lead, such as multiple electrodes at different perimeterlocations around the perimeter of the lead at each of the locations A,B, C, and D. On one example, the electrodes may be electrically coupledto switch circuitry 206 via respective wires that are straight or coiledwithin the housing the lead and run to a connector at the proximal endof the lead. In another example, each of the electrodes of the lead maybe electrodes deposited on a thin film. The thin film may include anelectrically conductive trace for each electrode that runs the length ofthe thin film to a proximal end connector. The thin film may then bewrapped (e.g., a helical wrap) around an internal member to form thelead 16. These and other constructions may be used to create a lead witha complex electrode geometry.

Although sensing circuitry 204 is incorporated into a common housingwith stimulation generator 202 and processor 210 in FIG. 2, in otherexamples, sensing circuitry 204 may be in a separate housing from IMD102 and may communicate with processor 210 via wired or wirelesscommunication techniques. Example bioelectrical signals include, but arenot limited to, a signal generated from local field potentials withinone or more regions of spine 20.

Sensor 212 may include one or more sensing elements that sense values ofa respective patient parameter. For example, sensor 212 may include oneor more accelerometers, optical sensors, chemical sensors, temperaturesensors, pressure sensors, or any other types of sensors. Sensor 212 mayoutput patient parameter values that may be used as feedback to controldelivery of therapy. IMD 102 may include additional sensors within thehousing of IMD 102 and/or coupled via one of leads 16 or other leads. Inaddition, IMD 102 may receive sensor signals wirelessly from remotesensors via telemetry circuitry 208, for example. In some examples, oneor more of these remote sensors may be external to patient (e.g.,carried on the external surface of the skin, attached to clothing, orotherwise positioned external to the patient).

Telemetry circuitry 208 supports wireless communication between IMD 102and an external programmer 104 or another computing device under thecontrol of processor 210. Processor 210 of IMD 102 may receive, asupdates to programs, values for various stimulation parameters such asamplitude and electrode combination, from programmer 104 via telemetrycircuitry 208. The updates to the therapy programs may be stored withintherapy programs 214 portion of memory 211. Telemetry circuitry 208 inIMD 102, as well as telemetry circuitry in other devices and systemsdescribed herein, such as programmer 104, may accomplish communicationby radiofrequency (RF) communication techniques. In addition, telemetrycircuitry 208 may communicate with external medical device programmer104 via proximal inductive interaction of IMD 102 with programmer 104.Accordingly, telemetry circuitry 208 may send information to externalprogrammer 104 on a continuous basis, at periodic intervals, or uponrequest from IMD 102 or programmer 104.

Power source 220 delivers operating power to various components of IMD102. Power source 220 may include a small rechargeable ornon-rechargeable battery and a power generation circuit to produce theoperating power. Recharging may be accomplished through proximalinductive interaction between an external charger and an inductivecharging coil within IMD 102. In some examples, power requirements maybe small enough to allow IMD 102 to utilize patient motion and implementa kinetic energy-scavenging device to trickle charge a rechargeablebattery. In other examples, traditional batteries may be used for alimited period of time.

According to the techniques of the disclosure, telemetry circuitry 208of IMD 102 receives commands from an external programmer 104. Inresponse to these commands, processor 210 of IMD 102 delivers aplurality of low-frequency electrical stimulation therapy programs to atarget tissue area of the spinal column 20 of patient 12 via electrodes116, 118 of leads 16. By interleaving the plurality of low-frequencyelectrical stimulation therapy programs delivered by each of electrodes116, 118, IMD 102 delivers to the target tissue area a combined pulsetrain that is effectively a high-frequency pulse train.

In some examples, IMD 102 is configured to generate and deliverelectrical stimulation therapy to patient 12 via two or more pairs ofelectrodes, e.g., combinations of two or more of electrodes 116A-116Dand 118A-118D, e.g., of leads 16 and/or a housing of IMD 102. In someexamples, each individual pulse train delivered on the two or more pairsof electrodes has a pulse frequency in a range of about 600 Hertz toabout 1500 Hertz. The amplitude and pulse width of the electricalstimulation signal are selected such that a stimulation intensity levelof the electrical stimulation signal is less than a perception orparesthesia threshold intensity level for patient 12. For example, in acurrent-controlled implementation, the amplitude may be selected to bein a range of 0.1 microamps to 100 milliamps. In another example, theamplitude may be selected to be in a range of about 0.1 milliamps toabout 25 milliamps, such as in a range of about 0.5 milliamps to about 5milliamps. In another example, in a voltage-controlled implementation,the amplitude may be selected to be in a range of 10 millivolts to 14Volts. In another example, the voltage amplitude may be selected to bein a range of about 50 millivolts to about 14 volts, such as in a rangeof about 500 millivolts to about 5 Volts.

In one example, the electrical stimulation signal comprises of one ormore electrical pulses (e.g., a pulse train), wherein each pulse has apulse width in a range of 2 microseconds to 833 microseconds. In afurther example, each pulse has a pulse width of about 20 microsecondsto about 60 microseconds. In one example, the electrical stimulationsignal comprises of one or more electrical pulses (e.g., a pulse train),wherein each pulse has a pulse width in a range of 30 microseconds to 60microseconds. In one example, the electrical stimulation signalcomprises of one or more electrical pulses (e.g., a pulse train),wherein each pulse has a pulse width of approximately 50 microseconds.In one example, the electrical stimulation signal comprises of one ormore electrical pulses (e.g., a pulse train), wherein each pulse has apulse width of approximately 60 microseconds.

In some examples, IMD 102 delivers the pulses of the electricalstimulation signal via different electrode combinations of two or moreof electrodes 116A-116D and 118A-118D and a housing of IMD 102. Forexample, IMD 102 may alternate delivery of pulses between two or moredifferent electrode combinations, or may otherwise interleave the pulsesusing two or more electrode combinations in any suitable order. In oneexample, each electrode combination comprises at least one electrodefunctioning as an anode and at least one other electrode functioning asa cathode, and these electrodes are unique to the electrode combinationin that the same electrodes are not used in other electrode combinationsthat are used to delivery time-interleaved stimulation pulses.

The electrical stimulation therapy signal may have a frequency ofgreater than approximately 600 Hertz in some examples, greater than1,200 Hertz in other examples, and greater than 1400 Hertz in stillother examples. Additionally, the electrical stimulation therapy signalmay have a frequency of less than approximately 1,500 Hertz in someexamples. In some examples, the frequency may be greater thanapproximately 600 Hertz and less than approximately 1,500 Hertz, greaterthan approximately 1,200 Hertz and less than approximately 1,500 Hertzin other examples, and greater than approximately 1,200 Hertz and lessthan approximately 1,250 Hertz in still other examples. In someexamples, the signal has a frequency of approximately 1,200 Hertz.

The combined pulse train signal may have a frequency of greater thanapproximately 1,200 Hertz in some examples, greater than 1,500 Hertz inother examples, greater than 5,000 Hertz in other examples, or greaterthan 10,000 Hertz in still other examples. Additionally, the combinedpulse train signal may have a frequency of less than approximately20,000 Hertz in some examples, less than 10,000 Hertz in other examples,or less than 5,000 Hertz in still other examples. In some examples, thefrequency may be greater than approximately 1,200 Hertz and less thanapproximately 20,000 Hertz, or greater than approximately 1,200 Hertzand less than approximately 5,000 Hertz in other examples. In someexamples, the signal has a frequency of approximately 4,800 Hertz. In adifferent example, the frequency may be greater than approximately 5,000Hertz and less than approximately 20,000 Hertz, greater thanapproximately 5,000 Hertz and less than approximately 10,000 Hertz inother examples, and greater than approximately 10,000 Hertz and lessthan approximately 20,000 Hertz in still other examples. In someexamples, the signal has a frequency of approximately 10,000 Hertz.

In another example, in response to telemetry circuitry 208 receivingcommands from an external programmer 104, processor 210 of IMD 102selects the target tissue area by selecting different electrodecombinations of two or more of electrodes 116A-116D and 118A-118D and ahousing of IMD 102 that share common anodes electrodes or cathodeelectrodes. For example, processor 210 of IMD 102 selects a firstcombination having anode electrode 116A and cathode electrode 118A, asecond combination having anode electrode 116B and cathode electrode118A, a third having anode electrode 116C and cathode electrode 118A,and a fourth combination having anode electrode 116D and cathodeelectrode 118A. In this example, only the tissue proximate to thecathode electrode 118A may receive the combined pulse train signal,while other tissues of patient 12 near anode electrodes 116A-116D mayreceive only low-frequency electrical stimulation.

In another example, in response to telemetry circuitry 208 receivingcommands from an external programmer 104, processor 210 of IMD 102selects the target tissue area by selecting electrode combinationshaving a plurality of unique anodes located down the spine 20 and aplurality of common cathodes located in the dorsal root of patient 12.In this example, processor 210 of IMD 102 selects a first combinationhaving anode electrode 116A and cathode electrodes 118A-118D, a secondcombination having anode electrode 116B and cathode electrodes118A-118D, a third combination having anode electrode 116C and cathodeelectrodes 118A-118D, and a fourth combination having anode electrode116D and cathode electrodes 118A-118D. In this example, the dorsal rootarea of patient 12 (e.g., the tissue near cathode electrodes 118A-118D)may receive the combined pulse train, while other tissues of patient 12(e.g., the tissue near anode electrodes 116A-116D) may receive onlylow-frequency electrical stimulation.

In another example, in response to telemetry circuitry 208 receivingcommands from an external programmer 104, processor 210 of IMD 102selects the target tissue area by selecting different electrodecombinations of two or more of electrodes 116A-116D and 118A-118D and ahousing of IMD 102 that do not share common anodes electrodes or cathodeelectrodes. Such a combination may create a localized area where thecathodes of each program are near each other but do not use the sameelectrodes. For example, in response to receiving a selection of amagnitude of an amplitude of the therapy program, processor 210 of IMD102 delivers electrical therapy to different nerves of patient 12 suchthat different nerves and associated target tissue areas on the nervoussystem of patient 12 may simultaneously receive electrical stimulationat different frequencies. For example, processor 210 of IMD 102 selectsa first combination having anode electrode 116A and cathode electrode118A, a second combination having anode electrode 116B and cathodeelectrode 118B, a third combination having anode electrode 116C andcathode electrode 118C, and a fourth combination having anode electrode116D and cathode electrode 118D. In this example, tissue between thecombinations of electrodes may receive the combined pulse train, whileother tissues of patient 12 (e.g., tissues not proximate to theelectrodes) may receive only low-frequency electrical stimulation.

In some examples, processor 210 selects combinations of electrodes suchthat the space between the anode and cathode for each program isincreased, thus increasing the spread of the stimulation and increasingthe likelihood of the same target area being affected by multipleprograms. In other examples, processor 210 selects combinations ofelectrodes such that the space between the anode and cathode for eachprogram is decreased, thus decreasing the spread of the stimulation andincreasing the likelihood of the same target area being affected bymultiple programs. According to the techniques of this disclosure, IMD102 may store, in memory 211, a set of stimulation profiles, with eachstimulation profile of the set of stimulation profiles having anassociated set of values for respective stimulation parameters.Processor 210 may select from the set of stimulation profiles, one ormore active stimulation profiles and based on the one or more activestimulation profiles, cause stimulation generator 202 to producemultiple electrical pulses on electrodes 116. Processor 210,implementing, in software or firmware, the scheduler of this disclosure,may separately control the parameters of individual pulses of themultiple pulses.

IMD 102 may maintain, either in hardware, software, or some combinationthereof, a plurality of profile timers such that each of the one or moreactive stimulation profiles has an associated profile timercorresponding to a time until a next pulse for the active stimulationprofile is scheduled to be delivered. Processor 210 may select a profilefrom the one or more active stimulation profiles based on the pluralityof profile timers and update stimulation generator 202 based on the setof values for the stimulation parameters associated with the selectedprofile. Processor 210 may, for example, select the profile from the twoor more active stimulation profiles based on the plurality of profiletimers by selecting a profile with a lowest profile timer value. In someexamples, IMD 102 may maintain the plurality of profile timers bydecrementing each of the plurality of profile timers in response toreceiving a confirmation from the stimulation generator that thestimulation generator has been updated. Additionally, or alternatively,IMD 102 may maintain the plurality of profile timers based on acrystal-based or oscillator-based timer.

When multiple active stimulation profiles are scheduled to deliver apulse during the same time slice, processor 210 may implement aprioritization scheme to select which of the multiple active stimulationprofiles to schedule for a particular time slice. In one example, toselect between the multiple active stimulation profiles, processor 210first delivers the pulse for the stimulation profile with the fastestrate, and then delivers the pulse for the stimulation profile with aslower rate. In some examples where two active stimulation profiles havedifferent rates, processor 210 may program stimulation generator 202 todeliver two pulses for a profile with a faster rate before programmingstimulation generator 202 to deliver one pulse for the profile with theslower rate. In other examples, processor 210 may select which pulse todeliver first based on a state of the user. Examples of states of a usercan include a posture or a position of the user or any other measurableor detectable states.

In some examples, processor 201 may modulate at least one of the valuesfor the stimulation parameters (e.g., amplitude or pulse width)associated with the selected profile and update stimulation generator202 based on the at least one modulated value for the stimulationparameters associated with the selected profile. As part of modulatingthe at least one value for the stimulation parameters associated withthe selected profile, processor 210 may maintain a modulation timer fora modulation function associated with the selected profile. By utilizinga modulation function, IMD 102 may implement complex pulse trains as afunction of time without having to store a full pulse train.

According to one example use case, processor 201 updates stimulationgenerator 202 with a first set of values for the stimulation parametersassociated with a first active stimulation profile of two or more activestimulation profiles. IMD 102 outputs, via a set of two or moreelectrodes of electrodes 116, an electrical pulse defined by the firstactive stimulation profile. For the first active stimulation profile ofthe two or more active stimulation profiles, processor 210 maintains afirst active profile timer that identifies an amount of time until apulse of the first active stimulation profile is scheduled to bedelivered. For a second active stimulation profile of the two or moreactive stimulation profiles, processor 210 maintains a second activeprofile timer that identifies an amount of time until a pulse of thesecond active stimulation profile is scheduled to be delivered.Processor 210 determines, based on a comparison of the first activeprofile timer to the second active profile timer, that a next pulse ofthe second active stimulation profile is scheduled to be deliveredbefore a next pulse of the first active stimulation profile. In responsedetermining that the next pulse of the second active stimulation profileis scheduled to be delivered before the next pulse of the first activestimulation profile, processor 210 updates stimulation generator 202with a second set of values for the stimulation parameters. The secondset of values for the stimulation parameters are associated with thesecond active stimulation profile of the two or more active stimulationprofiles. IMD 102 outputs, via the set of two or more of electrodes 116,an electrical pulse defined by the second active stimulation profile. Anexample of IMD 102 managing two active stimulation profiles is shown inFIG. 5B and will be discussed in more detail below.

The architecture of IMD 102 illustrated in FIG. 2 is shown as anexample. The techniques as set forth in this disclosure may beimplemented in the example IMD 102 of FIG. 2, as well as other types ofsystems not described specifically herein. Nothing in this disclosureshould be construed so as to limit the techniques of this disclosure tothe example architecture illustrated by FIG. 2.

FIG. 3 is a block diagram of the example IMD of FIG. 1 emphasizingfunctionality of this disclosure. In the example shown in FIG. 3, IMD102 includes stimulation generator 302, processor 310, and electrodes316. Stimulation generator 302, processor 310, and electrodes 316generally correspond to stimulation generator 202, processor 210, andelectrodes 116 and 118 described above with respect to FIG. 2 in termsof implementation and functionality. IMD 102 executes stimulationscheduler 322. Stimulation scheduler 322 represents software or firmwareexecuted by processor 310. Although not shown explicitly in FIG. 3, IMD102 also includes a memory (e.g., memory 211 of FIG. 2) for storing aplurality of stimulation profiles 326 and global parameters 328.Processor 310, executing stimulation scheduler 322, may be configured tocontrol stimulation generator 302 to cause stimulation generator 302 toproduce multiple pulses, with processor 310 separately controllingparameters of individual pulses of the multiple pulses. Stimulationscheduler 322 may, for example, perform fractionalized electrode currentsteering to control the amplitude of current sourced or sunk on anelectrode to electrode basis. For example, a 1 mA pulse fractionalizedon 3 electrodes may output 0.5 mA on one electrode, and 0.25 mA on theother two electrodes.

IMD 102 stores, in a memory of IMD 102, a plurality of stimulationprofiles 326. Each stimulation profile of plurality of stimulationprofiles 326 is associated with a set of values for stimulationparameters. Plurality of stimulation profiles 326 may, for example, beadded to IMD 102 by a clinician via external programmer 104. For eachprofile of the plurality of stimulation profiles 326, the clinician mayprogram values for the stimulation parameters. Examples of stimulationparameters includes a pulse amplitude (Amp), a pulse width (PW), a pulsestim delay (PSD), a pulse rate, and an identification of electrodes thatare used to deliver the pulses.

IMD 102 also stores, in a memory of IMD 102, global parameters 328.Global parameters 328 represent parameters to which all profiles adhere.Examples of global parameters include a duration of an active recharge,i.e., a duration of a charge balance phase being driven by activeelectronics, rather than passive discharge. Another example of a globalparameter is a maximum post delay, setting a maximum delay between thestimulus and charge balance phases of each pulse. Other examples ofglobal parameters include a maximum number of profiles that can beactive at one time, a maximum number of electrodes available, or amaximum pulse width. The global parameters may, for example, either beprogrammed by a clinician via external programmer 104 or may be set byfirmware of IMD 102.

Processor 310 may be configured to set IMD 102 into an operation mode,such as a configuration mode or a real time mode. In the configurationmode, processor 310 may disable stimulation generator 302 such thatstimulation generator 302 does not deliver any therapy. During theconfiguration mode, processor 310 may update the configuration of IMD102 by, for example, processing a firmware update, changing values ofglobal parameters 328, or defining new therapy programs.

In the real time mode, processor 310 causes stimulation generator 302 todeliver stimulation therapy via electrodes 316. To initiate a therapysession, processor 310 may select a set of two or more activestimulation profiles from plurality of stimulation profiles 326. Theactive stimulation profiles may be all or a subset of plurality ofstimulation profiles 326. Processor 310 may select the activestimulation profiles based on external inputs, such as input provide bya clinician via external programmer 104, or based on measured biomarkers.

Processor 310 may start the therapy session by initializing stimulationgenerator 302 with initial values for stimulation parameters, such as apulse amplitude, a pulse width, a pulse rate, a pulse stimulation delay,and an identification of electrodes. The initial values may, forexample, be the stimulation parameter values for one of the activestimulation profiles. Once the therapy session begins, processor 310 andstimulation scheduler 322 may continually update stimulation thestimulation parameters.

To continually update the stimulation parameters, stimulation scheduler322 maintains a plurality of profile timers, with each of the two ormore active stimulation profiles having an associated profile timer. Thevalue of the profile timer corresponds to a time until a next pulse forthe active stimulation profile is due to be delivered. To select theprofile from the two or more active stimulation profiles based on theplurality of profile timers, processor 310, executing stimulationscheduler 322, selects an active profile with a lowest profile timervalue. In other words, processor 310 selects the active profile that isnext due to generate a pulse. The profile timers may, for example, besynchronized to a common hardware timer, e.g., a hardware clock. Thehardware timer may, for example, be part of stimulation generator 302.

To maintain the plurality of profile timers, stimulation scheduler 322decrements each of the plurality of profile timers in response toreceiving a confirmation from the stimulation generator that stimulationgenerator 302 has been updated with new stimulation parameter values.The confirmation is shown in FIG. 3 as “update done interrupt.”Stimulation scheduler 322 may, for example, decrement the profile timersby a known amount in response to each received confirmation. In someexamples, that known amount may be equal to the duration of a timeslice. Referring back to FIG. 2, the confirmation may, for example, besent from stimulation generator 202 to processor 210.

In some examples, stimulation scheduler 322 may determine that two ormore profiles are scheduled to deliver pulses within a same time window.In such an instance, processor 310 may select a single pulse for eachtime window based on a prioritization scheme. Whichever pulses is notdelivered in the current time window may be delivered in a subsequenttime window. In some examples, processor 310, executing stimulationscheduler 322, may cause stimulation generator 302 to first deliver thepulse for the stimulation profile with the fastest rate and then deliverthe pulse for the stimulation profile with the slower rate.

Instead of interleaving multiple pulse trains or in addition tointerleaving multiple pulse trains, stimulation scheduler 322 maymodulate at least one of the values for stimulation parametersassociated with an active profile and update stimulation generator 302based on the at least one modulated value for the stimulation parametersassociated with the active profile. To modulate the at least one valuefor the stimulation parameters associated with the selected profile,stimulation scheduler 322 maintains a modulation timer for a modulationfunction associated with the selected profile.

In one example, processor 310 may for a therapy session, select fromplurality of stimulation profiles 326, two or more active stimulationprofiles and updates stimulation generator 302 with a first set ofvalues for the stimulation parameters. The first set of values for thestimulation parameters are associated with a first active stimulationprofile of the two or more active stimulation profiles. After updatingthe stimulation parameters, stimulation generator 302 sends tostimulation scheduler 322 a confirmation that stimulation generator 302has been updated. Stimulation generator 302 outputs, via two or more ofelectrodes 316, an electrical pulse defined by the first activestimulation profile. For the first active stimulation profile of the twoor more active stimulation profiles, stimulation scheduler 322 maintainsa first active profile timer that identifies an amount of time until apulse of the first active stimulation profile is scheduled to bedelivered. For a second active stimulation profile of the two or moreactive stimulation profiles, stimulation scheduler 322 maintains asecond active profile timer that identifies an amount of time until apulse of the second active stimulation profile is scheduled to bedelivered.

Processor 310, executing stimulation scheduler 322, determines, based ona comparison of the first active profile timer to the second activeprofile timer, that a next pulse of the second active stimulationprofile is scheduled to be delivered before a next pulse of the firstactive stimulation profile. In response determining that the next pulseof the second active stimulation profile is scheduled to be deliveredbefore the next pulse of the first active stimulation profile,stimulation scheduler 322 updates the stimulation generator with asecond set of values for the stimulation parameters that are associatedwith the second active stimulation profile of the two or more activestimulation profiles. After updating the stimulation parameters,stimulation generator 302 sends to stimulation scheduler 322 aconfirmation that stimulation generator 302 has been updated.Stimulation generator 302 outputs, via two or more of electrodes 316, anelectrical pulse defined by the second active stimulation profile.

After outputting, via two or more of electrodes 316, the electricalpulse defined by the second active stimulation profile, processor 310,executing stimulation scheduler 322, may determine, based on acomparison of the first active profile timer to the second activeprofile timer, that a next pulse of the second active stimulationprofile is scheduled to be delivered before a next pulse of the firstactive stimulation profile. In response determining that the next pulseof the second active stimulation profile is scheduled to be deliveredbefore the next pulse of the first active stimulation profile,stimulation scheduler 322 updates the stimulation generator with asecond set of values for the stimulation parameters that are associatedwith the second active stimulation profile of the two or more activestimulation profiles. In this instance because stimulation generator 302is already programmed with the second set of values for the stimulationparameters that are associated with the second active stimulationprofile, the update does not cause the values of the stimulationparameters for stimulation generator 302 to change. After updating thestimulation parameters, stimulation generator 302 sends to stimulationscheduler 322 a confirmation that stimulation generator 302 has beenupdated. Stimulation generator 302 outputs, via two or more ofelectrodes 316, an electrical pulse defined by the second activestimulation profile.

FIG. 4 is a block diagram of the example external programmer 104 ofFIG. 1. Although programmer 104 may generally be described as ahand-held device, programmer 104 may be a larger portable device or amore stationary device. In addition, in other examples, programmer 104may be included as part of an external charging device or include thefunctionality of an external charging device. As illustrated in FIG. 4,programmer 104 may include a processor 410, memory 411, user interface402, telemetry circuitry 408, and power source 420. Memory 411 may storeinstructions that, when executed by processor 410, cause processor 410and external programmer 104 to provide the functionality ascribed toexternal programmer 104 throughout this disclosure. Each of thesecomponents may include electrical circuitry that is configured toperform some or all of the functionality described herein. For example,processor 410 may include processing circuitry configured to perform theprocesses discussed with respect to processor 410.

In general, programmer 104 comprises any suitable arrangement ofhardware, alone or in combination with software and/or firmware, toperform the techniques attributed to programmer 104, and processor 410,user interface 402, and telemetry circuitry 408 of programmer 104. Invarious examples, programmer 104 may include one or more processors,such as one or more microprocessors, DSPs, ASICs, FPGAs, or any otherequivalent integrated or discrete logic circuitry, as well as anycombinations of such components. Programmer 104 also, in variousexamples, may include a memory 411, such as RAM, ROM, PROM, EPROM,EEPROM, flash memory, a hard disk, a CD-ROM, comprising executableinstructions for causing the one or more processors to perform theactions attributed to them. Moreover, although processor 410 andtelemetry circuitry 408 are described as separate components, in someexamples, processor 410 and telemetry circuitry 408 are functionallyintegrated. In some examples, processor 410 and telemetry circuitry 408correspond to individual hardware units, such as ASICs, DSPs, FPGAs, orother hardware units.

Memory 411 (e.g., a storage device) may store instructions that, whenexecuted by processor 410, cause processor 410 and programmer 104 toprovide the functionality ascribed to programmer 104 throughout thisdisclosure. For example, memory 411 may include instructions that causeprocessor 410 to obtain a parameter set from memory, select a spatialelectrode movement pattern, or receive a user input and send acorresponding command to IMD 102, or instructions for any otherfunctionality. In addition, memory 411 may include a plurality ofprograms, where each program includes a parameter set that definesstimulation therapy.

User interface 402 may include a button or keypad, lights, a speaker forvoice commands, a display, such as a liquid crystal (LCD),light-emitting diode (LED), or organic light-emitting diode (OLED). Insome examples the display may be a touch screen. User interface 402 maybe configured to display any information related to the delivery ofstimulation therapy, identified patient behaviors, sensed patientparameter values, patient behavior criteria, or any other suchinformation. User interface 402 may also receive user input via userinterface 402. The input may be, for example, in the form of pressing abutton on a keypad or selecting an icon from a touch screen. The inputmay request starting or stopping electrical stimulation, the input mayrequest a new spatial electrode movement pattern or a change to anexisting spatial electrode movement pattern, of the input may requestsome other change to the delivery of electrical stimulation.

Processor 410 may also control user interface 402 to display informationrelated to an anatomical atlas (e.g., an atlas of a reference anatomy)and patient-specific anatomy. For example, user interface 402 maydisplay a representation of one or more atlas-defined anatomicalstructures over a representation (e.g., an image) of the specificpatient anatomy. User interface 402 may present annotation tools foradjusting the structures of the atlas to the patient anatomy and receiveuser annotations indicating where the corresponding structures of thepatient anatomy are located and/or where the atlas should be moved withrespect to the patient anatomy. Processor 410 may then adjust theposition and/or size of the structures of the atlas to more closelymatch (e.g., a best fit) to the user annotation. After the atlas hasbeen adjusted, the user may refer to the atlas for locations of certainstructures of the patient instead of needing to continually find desiredstructures based on the image of the patient anatomy.

Telemetry circuitry 408 may support wireless communication between 1 MB102 and programmer 104 under the control of processor 410. Telemetrycircuitry 408 may also be configured to communicate with anothercomputing device via wireless communication techniques, or directcommunication through a wired connection. In some examples, telemetrycircuitry 408 provides wireless communication via an RF or proximalinductive medium. In some examples, telemetry circuitry 408 includes anantenna, which may take on a variety of forms, such as an internal orexternal antenna.

Examples of local wireless communication techniques that may be employedto facilitate communication between programmer 104 and IMD 102 includeRF communication according to the 802.11 or Bluetooth specification setsor other standard or proprietary telemetry protocols. In this manner,other external devices may be capable of communicating with programmer104 without needing to establish a secure wireless connection. Asdescribed herein, telemetry circuitry 408 may be configured to transmita spatial electrode movement pattern or other stimulation parametervalues to IMD 102 for delivery of stimulation therapy.

In some examples, selection of therapy parameters or therapy programsmay be transmitted to a medical device (e.g., IMD 102) for delivery topatient 112. In other examples, the therapy may include medication,activities, or other instructions that patient 112 must performthemselves or a caregiver perform for patient 112. In some examples,programmer 104 may provide visual, audible, and/or tactile notificationsthat indicate there are new instructions. Programmer 104 may requirereceiving user input acknowledging that the instructions have beencompleted in some examples.

According to the techniques of the disclosure, user interface 402 ofexternal programmer 104 receives a selection from a clinician of one ormore combinations of electrodes for delivery of a plurality oflow-frequency electrical stimulation therapies to patient 12. Inresponse to the selection, processor 410, via telemetry circuitry 408,issues instructions to IMD 102 to deliver the plurality of low-frequencyelectrical stimulation therapies. In response to the instructions, IMD102 delivers to the target tissue area a combined pulse train that iseffectively a high-frequency electrical stimulation program. In someexamples, user interface 402 allows for a clinician to select one ormore combinations of anode and cathode electrodes for the delivery ofeach electrical stimulation therapy. In other examples, user interface402 allows for a clinician to select a high-frequency stimulationprogram including a desired target tissue area and desired effectivefrequency, and processor 410 automatically determines the appropriatecombination of anode and cathode electrodes in multiple electrodecombinations of IMD 102 to achieve the selected stimulation program. Inthis example, processor 410, via telemetry circuitry 408, issuesinstructions to IMD 102 causing IMD 102 to select the appropriatecombination of anode and cathode electrodes and deliver a plurality ofinterleaved, low-frequency electrical stimulation therapies so as toeffect the selected high-frequency stimulation program, as describedabove.

The architecture of programmer 104 illustrated in FIG. 4 is shown as anexample. The techniques as set forth in this disclosure may beimplemented in the example programmer 104 of FIG. 4, as well as othertypes of systems not described specifically herein. Nothing in thisdisclosure should be construed so as to limit the techniques of thisdisclosure to the example architecture illustrated by FIG. 4.

FIGS. 5A-5D show examples of pulse trains that may be output by IMD 102when implementing techniques of this disclosure. For ease ofexplanation, in FIGS. 5A-5D, the pulse trains of the various activeprofiles are shown as being superimposed to form a new waveform to beoutput, by for example, two electrodes. In some examples, however, thepulse trains of the various active profile may not actually besuperimposed to form a new waveform, but instead, may be deliveredseparately from different pairs of electrodes but using the samestimulation generator. In the examples of FIGS. 5A-5D, a pulsecorresponding to a first active profile is labeled with a 1, a pulsecorresponding to a second active profile is labeled with a 2, and so onand so forth.

FIG. 5A shows an example pulse train formed using one active profile.The one active pulse train has a frequency of 2500 Hz and a pulse widthof 40 microseconds. In the example of FIG. 5A, the pulses of the oneactive profile fit within the 400 microsecond rate period time slice,and the profile utilizes the maximum stimulation rate and schedules apulse in every time slice.

FIG. 5B shows an example pulse train formed by two active profiles. Thefirst active profile has a frequency of 1250 Hz and a pulse width of 40microseconds. The second active profile has a frequency of 625 Hz and apulse width of 80 microseconds. The first and second active profiles areunique in pulse amplitude, pulse width, and frequency. Pulses from bothactive profiles fit within the rate period time slice. In the example ofFIG. 5B, some time slices have no pulses scheduled.

FIG. 5C shows an example pulse train formed by two active profiles. Thefirst active profile has a frequency of 1041.7 Hz and a pulse width of40 microseconds. The second active profile has a frequency of 1041.7 Hzand a pulse width of 260 microseconds. The first and second activeprofiles are unique in pulse amplitude and pulse width. Pulses of thefirst active profile fit within the rate period time slice, while pulsesof the second active profile exceed the minimum rate period and employsa rate period time slice extension. To allow more efficient use of timeslices, the pulses of the second active profile may be delivered overtwo time slices, with no other pulses delivered in either of the twotime slices.

FIG. 5D shows an example pulse train formed by twelve active profiles.The first active profile has a frequency of 208.3 Hz and a pulse widthof 10 microseconds. The second active profile has a frequency of 208.3Hz and a pulse width of 20 microseconds. The third active profile has afrequency of 208.3 Hz and a pulse width of 30 microseconds. The fourthactive profile has a frequency of 208.3 Hz and a pulse width of 40microseconds. The fifth active profile has a frequency of 208.3 Hz and apulse width of 50 microseconds. The sixth active profile has a frequencyof 208.3 Hz and a pulse width of 60 microseconds. The seventh activeprofile has a frequency of 208.3 Hz and a pulse width of 70microseconds. The eighth active profile has a frequency of 208.3 Hz anda pulse width of 80 microseconds. The ninth active profile has afrequency of 208.3 Hz and a pulse width of 90 microseconds. The tenthactive profile has a frequency of 208.3 Hz and a pulse width of 100microseconds. The eleventh active profile has a frequency of 208.3 Hzand a pulse width of 110 microseconds. The twelfth active profile has afrequency of 208.3 Hz and a pulse width of 120 microseconds. All twelveactive profiles use unique stimulation settings. The pulse frequenciesare the same across all twelve profiles for ease of illustration, butdifferent pulse frequencies may also be used. In the example of FIG. 12,all twelve profile pulses fit within the rate period time slice.

FIGS. 6A-6D show examples of an underlying pulse train, associated witha stimulation profile, that is modulated by a separate function, suchthat every pulse has a different pulse amplitude according to theseparate function. The pulse trains of FIGS. 6A-6D are examples of pulsetrains that may be output by IMD 102 when implementing techniques ofthis disclosure. The various modulation schemes described with respectto FIGS. 6A-6D can be used individually or in combination.

FIG. 6A shows an example pulse train generated by amplitude modulatingthe pulse train of one active profile. The separate function thatmodulates the pulse train may be a sinusoidal function as shown, or anyother function such as a polynomial function, square wave, trianglewave, sawtooth wave, etc. IMD 102 may be configured to recalculate thepulse amplitude at every pulse according to the separate function toprovide the modulation.

FIG. 6B shows an example amplitudes of pulse trains generated by threeactive profiles, where the pulse trains of the two of the three activeprofiles are amplitude modulated. In the example of FIG. 6B, the pulsetrain of the first active profile is modulated from zero to a maximumamplitude, and the pulse train of the second active profile is modulatedfrom a minimum amplitude to a maximum amplitude that is greater thanzero. The pulse train of the third active profile is not amplitudemodulated. The three active profiles of FIG. 6B have unique amplituderanges and modulation rates across.

FIG. 6C shows an example pulse train generated by pulse width modulatingthe pulse train of one active profile. IMD 102 may be configured torecalculate the pulse amplitude at every pulse to provide modulation insome examples. IMD 102 may modulate the underlying pulse train between aminimum and a maximum allowable value for any modulated pulse parameter,such as an amplitude or a pulse width.

FIG. 6D shows an example pulse train generated by post-stimulus delaymodulating the pulse train of one active profile. In the example of FIG.6D, IMD 102 may be configured to recalculate the delay betweenstimulation and recharge phases at every pulse to provide modulation. Asshown in FIG. 6D, recharge pulses may be delivered at different timesafter respective stimulation pulses according to the modulation. IMD 102may modulate the underlying pulse train between a minimum and a maximumallowable value.

FIG. 7 is a flow diagram illustrating techniques of this disclosure. Thetechniques of FIG. 7 will be described with respect to a generic medicaldevice configured to deliver stimulation therapy. The generic medicaldevice may, for example, be IMD 102 or some other type of IMD, but thetechniques of FIG. 7 may also be performed by other types of medicaldevices, including non-implantable medical devices. In the example ofFIG. 7, the medical device stores, in a memory, a set of stimulationprofiles, with each stimulation profile of the set of stimulationprofiles being associated with a set of values for stimulationparameters (702). The medical device selects from the set of stimulationprofiles, one or more active stimulation profiles (704). The medicaldevice produces, by a stimulation generator, multiple electrical pulsesbased on the one or more active stimulation profiles (706). The medicaldevice separately controls, with processing circuitry, parameter valuesof respective individual pulses of the multiple pulses (708).

The techniques described in this disclosure may be implemented, at leastin part, in hardware, software, firmware or any combination thereof. Forexample, various aspects of the described techniques may be implementedwithin one or more processors, including one or more microprocessors,DSPs, ASICs, FPGAs, or any other equivalent integrated or discrete logiccircuitry, as well as any combinations of such components. The term“processor” or “processing circuitry” may generally refer to any of theforegoing logic circuitry, alone or in combination with other logiccircuitry, or any other equivalent circuitry. A control unit comprisinghardware may also perform one or more of the techniques of thisdisclosure.

Such hardware, software, and firmware may be implemented within the samedevice or within separate devices to support the various operations andfunctions described in this disclosure. In addition, any of thedescribed units or components may be implemented together or separatelyas discrete but interoperable logic devices. Depiction of differentfeatures as components or units is intended to highlight differentfunctional aspects and does not necessarily imply that such componentsor units must be realized by separate hardware or software components.Rather, functionality associated with one or more components or unitsmay be performed by separate hardware or software components, orintegrated within common or separate hardware or software components.

The techniques described in this disclosure may also be embodied orencoded in a computer-readable medium, such as a computer-readablestorage medium, containing instructions. Instructions embedded orencoded in a computer-readable storage medium may cause a programmableprocessor, or other processor, to perform the method, e.g., when theinstructions are executed. Computer readable storage media may includeRAM, ROM, programmable PROM, EPROM, EEPROM, flash memory, a hard disk, aCD-ROM, a floppy disk, a cassette, magnetic media, optical media, orother computer readable media.

Various examples have been described. These and other examples arewithin the scope of the following claims.

What is claimed is:
 1. A medical device comprising: a memory configuredto store a set of one or more stimulation profiles, wherein eachstimulation profile of the set of one or more stimulation profiles isassociated with a respective set of one or more values for one or morestimulation parameters; a stimulation generator configured to generateelectrical stimulation pulses; processing circuitry operably coupled tothe memory, wherein the processing circuitry is configured to controlthe stimulation generator to separately control parameter values ofrespective individual pulses of the electrical stimulation pulsesgenerated by the stimulation generator according to a respective set ofone or more values for the one or more stimulation parameters for atleast one active stimulation profile of the set of one or morestimulation profiles.
 2. The medical device of claim 1, wherein the atleast one active stimulation profile of the set of one or morestimulation profiles comprises a first active stimulation profile and asecond active stimulation profile, and wherein the processing circuitryis further configured to: control the stimulation generator, based on afirst set of one or more values for the one or more stimulationparameters and a second set of one or more values for the one or morestimulation parameters, to interleave stimulation pulses generatedaccording to the first active stimulation profile with stimulationpulses generated according to the second active stimulation profile,wherein the first set of one or more values for the one or morestimulation parameters are associated with the first active stimulationprofile and the second set of one or more values for the one or morestimulation parameters are associated with the second active stimulationprofile.
 3. The medical device of claim 2, wherein, to control thestimulation generator, the processing circuitry is configured todetermine which of the first active stimulation profile and the secondactive stimulation profile is scheduled to generate a next pulse of theelectrical stimulation pulses.
 4. The medical device of claim 2,wherein, to control the stimulation generator to interleave thestimulation pulses generated according to the first active stimulationprofile with the stimulation pules generated according to the secondactive stimulation profile, the processing circuitry is furtherconfigured to: determine that the first active stimulation profile andthe second active stimulation profile are each scheduled to generatestimulation pulses within a same time window; in response to determiningthat the first active stimulation profile has a faster pulse rate thanthe second active stimulation profile: first control the stimulationgenerator to generate a first stimulation pulse according to the firstactive stimulation profile; and subsequent to generating the firststimulation pulse for the first active stimulation profile, control thestimulation generator to generate a second stimulation pulse accordingto the second active stimulation profile.
 5. The medical device of claim1, wherein each of the one or more stimulation parameters comprise oneor more of a pulse amplitude, a pulse width, a pulse shape, a pulserate, a pulse stimulation delay, and an electrode combination.
 6. Themedical device of claim 1, wherein the processing circuitry is furtherconfigured to: modulate at least one value of the respective set of oneor more values for the one or more stimulation parameters for the atleast one active stimulation profile; and control the stimulationgenerator to generate a stimulation pulse based on the at least onemodulated value.
 7. The medical device of claim 6, wherein, to modulatethe at least one value of the respective set of one or more values forthe one or more stimulation parameters for the at least one activestimulation profile, the processing circuitry is configured to maintaina modulation timer for a modulation function associated with the atleast one active stimulation profile.
 8. The medical device of claim 1,wherein the at least one active stimulation profile of the set of one ormore stimulation profiles comprises two or more active stimulationprofiles, and wherein the processing circuitry is further configured to:control the stimulation generator to generate a first stimulation pulsebased on a first set of one or more values for the one or morestimulation parameters, wherein the first set of one or more values forthe one or more stimulation parameters are associated with a firstactive stimulation profile of the two or more active stimulationprofiles; determine that a next pulse of a second active stimulationprofile is scheduled to be generated before a next pulse of the firstactive stimulation profile; in response to determining that the nextpulse of the second active stimulation profile is scheduled to begenerated before the next pulse of the first active stimulation profile,control the stimulation generator to generate a second pulse based on asecond set of one or more values for the one or more stimulationparameters, wherein the second set of one or more values for the one ormore stimulation parameters are associated with the second activestimulation profile of the two or more active stimulation profiles. 9.The medical device of claim 1, wherein the medical device comprises animplantable medical device.
 10. A method comprising: storing, in amemory of a medical device, a set of one or more stimulation profiles,wherein each stimulation profile of the set of one or more stimulationprofiles is associated with a set of one or more values for one or morestimulation parameters; for a therapy session, selecting from the set ofone or more stimulation profiles, at least two active stimulationprofiles comprising a first active stimulation profile and a secondactive stimulation profile; producing, by a stimulation generator,multiple electrical stimulation pulses based on the at least two activestimulation profiles; and controlling, with processing circuitry,parameter values for respective individual stimulation pulses of themultiple electrical stimulation pulses based on a first set of one ormore values for the one or more stimulation parameters associated withthe first active stimulation profile and a second set of one or morevalues for the one or more stimulation parameters associated with thesecond active stimulation profile.
 11. The method of claim 10, whereinproducing the multiple electrical stimulation pulses based on the atleast two active stimulation profiles: selecting a stimulation profilefrom the at least two active stimulation profiles; and controlling thestimulation generator to generate a stimulation pulse of the multipleelectrical stimulation pulses based on a set of one or more values forthe one or more stimulation parameters associated with the selectedstimulation profile.
 12. The method of claim 11, wherein selecting thestimulation profile from the at least two active stimulation profilescomprises: determining that two or more active stimulation profiles ofthe at least two active stimulation profiles are scheduled to generatepulses within a same time window; first controlling the stimulationgenerator to generate a first stimulation pulse of the multipleelectrical stimulation pulses according to a stimulation profile of thetwo or more active stimulation profiles that has a fastest pulse rate;and then controlling the stimulation generator to generate a secondstimulation pulse of the multiple electrical stimulation pulsesaccording to a stimulation profile of the two or more active stimulationprofiles that has a slower pulse rate than the fastest pulse rate. 13.The method of claim 10, wherein the one or more stimulation parameterscomprise one or more of a pulse amplitude, a pulse width, a pulse shape,a pulse rate, a pulse stimulation delay, and an identification ofelectrodes.
 14. The method of claim 10, further comprising: modulatingat least one value of the first set of one or more values; andcontrolling the stimulation generator to generate a stimulation pulse ofthe multiple electrical stimulation pulses based on the at least onemodulated value.
 15. The method of claim 14, wherein modulating the atleast one value comprises maintaining a modulation timer for amodulation function associated with the first active stimulationprofile.
 16. The method of claim 10, further comprising: controlling thestimulation generator to generate a first pulse of the multipleelectrical stimulation pulses based on the first set of one or morevalues for the one or more stimulation parameters; determining, that anext pulse of the second active stimulation profile is scheduled to begenerated before a next pulse of the first active stimulation profile;in response to determining that the next pulse of the second activestimulation profile is scheduled to be generated before the next pulseof the first active stimulation profile, controlling the stimulationgenerator to generate a second pulse of the multiple electricalstimulation pulses based on the second set of one or more values.
 17. Acomputer-readable storage medium storing instructions that when executedby one or more processors cause the one or more processors to: store, ina memory of a medical device, a set of one or more stimulation profiles,wherein each stimulation profile of the set of one or more stimulationprofiles is associated with a set of one or more values for the one ormore stimulation parameters; for a therapy session, select from the setof one or more stimulation profiles, at least two active stimulationprofiles comprising a first active stimulation profile and a secondactive stimulation profile; produce, by a stimulation generator,multiple electrical pulses based on the at least two active stimulationprofiles; and control, with processing circuitry, parameter values forrespective individual pulses of the multiple electrical pulses based ona first set of one or more values for the one or more stimulationparameters associated with the first active stimulation profile and asecond set of one or more values for the one or more stimulationparameters associated with the second active stimulation profile. 18.The computer-readable storage medium of claim 17, wherein to produce themultiple electrical pulses based on the at least two active stimulationprofiles, the instructions cause the one or more processors to: select astimulation profile from the at least two active stimulation profiles;and control the stimulation generator to generate a pulse of themultiple electrical pulses based on a set of one or more values for theone or more stimulation parameters associated with the selectedstimulation profile.
 19. The computer-readable storage medium of claim18, wherein the one or more stimulation parameters comprise one or moreof a pulse amplitude, a pulse width, a pulse shape, a pulse rate, apulse stimulation delay, and an identification of electrodes.
 20. Thecomputer-readable storage medium of claim 17, storing furtherinstructions that when executed by the one or more processors cause theone or more processors to: control the stimulation generator to generatea first pulse of the multiple electrical pulses based on the first setof one or more values for the one or more stimulation parameters;determine, that a next pulse of the second active stimulation profile isscheduled to be generated before a next pulse of the first activestimulation profile; in response to determining that the next pulse ofthe second active stimulation profile is scheduled to be generatedbefore the next pulse of the first active stimulation profile, controlthe stimulation generator to generate a second pulse of the multipleelectrical pulses based on the second set of one or more values.